/*
 * Copyright the original author or authors.
 * 
 * Licensed under the MOZILLA PUBLIC LICENSE, Version 1.1 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.mozilla.org/MPL/MPL-1.1.html
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 package com.blitscreen.gesture
{
	import com.blitscreen.gesture.strategy.BoundingBoxHit;
	import com.blitscreen.gesture.strategy.GestureHitMode;
	import com.blitscreen.gesture.strategy.PixelHit;
	
	/**
	 * An enumeration of all concret <code>GestureHitMode</code>s 
	 * objects provided by the BlitScreen engine.
	 * 
	 * @author Cédric Néhémie
	 */
	public class GestureHitModes
	{
		/**
		 * The <code>BOUNDING_BOX_MODE</code>, as its name suppose,
		 * detects collision by comparison of the mouse position with
		 * the bounding box of the sprite.
		 * 
		 * @see	com.blitscreen.gesture.strategy.BoundingBoxHit
		 */
		static public const BOUNDING_BOX_MODE : GestureHitMode = new BoundingBoxHit();
		/**
		 * The <code>PIXEL_MODE</code> detects collision
		 * by comparison of the mouse position with the pixel of the sprite.
		 * <p>
		 * In order to optimize the detection, a first test is performed
		 * using the bouding box approach, and if the mouse cursor is inside
		 * the bounding box, a pixel comparison is performed.
		 * </p><p>
		 * Pixel comparison is realized on the alpha channel, if the value
		 * of the alpha channel is greater than the <code>threshold</code>
		 * property, the collision occurs. 
		 * </p>
		 * @see	com.blitscreen.gesture.strategy.PixelHit
		 */
		static public const PIXEL_MODE : GestureHitMode = new PixelHit();
	}
}